package com.jeeplus.modules.project.entity;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.common.persistence.ActEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 项目立项申请Entity
 * @author jacky
 * @version 2018-01-26
 */
public class ProjectKnot extends ActEntity<ProjectKnot> {
	
	private static final long serialVersionUID = 1L;
	private Date knotDate;		// 申请结项年月日
	private Date setupDate;		// 立项时间
	private Date planFinisDate;		// 计划完成时间
	private Date realFinishDate;		// 实际完成时间
	private String checkTotalMoney;		// 核准经费总额
	private String realUseMoney;		// 已用经费总额
	private String finalAchieve;		// 最终成果简介
	private String achieveOtherRemark;		// 成果发表及其他需要说明的情况
	private BaseProjectInfo basePtInfo;		// 关联基本项目
	private String deptCheckAdvice;		// 部门负责人审核
	private String deptColledgeLeaderAdvice;		// 部门分管院领导意见
	private String expertAdvice;		// 专家评审答辩意见
	private String academyAcademiaAdvice;		// 院学术委员会意见
	private String financeAdvice;		// 院财务部门意见
	private String bossLeaderAdvice;		// 分管科研院领导意见
	
	public ProjectKnot() {
		super();
	}

	public ProjectKnot(String id){
		super(id);
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="申请结项年月日", align=2, sort=7)
	public Date getKnotDate() {
		return knotDate;
	}

	public void setKnotDate(Date knotDate) {
		this.knotDate = knotDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="立项时间", align=2, sort=8)
	public Date getSetupDate() {
		return setupDate;
	}

	public void setSetupDate(Date setupDate) {
		this.setupDate = setupDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="计划完成时间", align=2, sort=9)
	public Date getPlanFinisDate() {
		return planFinisDate;
	}

	public void setPlanFinisDate(Date planFinisDate) {
		this.planFinisDate = planFinisDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="实际完成时间", align=2, sort=10)
	public Date getRealFinishDate() {
		return realFinishDate;
	}

	public void setRealFinishDate(Date realFinishDate) {
		this.realFinishDate = realFinishDate;
	}
	
	@ExcelField(title="核准经费总额", align=2, sort=11)
	public String getCheckTotalMoney() {
		return checkTotalMoney;
	}

	public void setCheckTotalMoney(String checkTotalMoney) {
		this.checkTotalMoney = checkTotalMoney;
	}
	
	@ExcelField(title="已用经费总额", align=2, sort=12)
	public String getRealUseMoney() {
		return realUseMoney;
	}

	public void setRealUseMoney(String realUseMoney) {
		this.realUseMoney = realUseMoney;
	}
	
	@ExcelField(title="最终成果简介", align=2, sort=13)
	public String getFinalAchieve() {
		return finalAchieve;
	}

	public void setFinalAchieve(String finalAchieve) {
		this.finalAchieve = finalAchieve;
	}
	
	@ExcelField(title="成果发表及其他需要说明的情况", align=2, sort=14)
	public String getAchieveOtherRemark() {
		return achieveOtherRemark;
	}

	public void setAchieveOtherRemark(String achieveOtherRemark) {
		this.achieveOtherRemark = achieveOtherRemark;
	}
	
	@ExcelField(title="关联基本项目", align=2, sort=15)
	public BaseProjectInfo getBasePtInfo() {
		return basePtInfo;
	}

	public void setBasePtInfo(BaseProjectInfo basePtInfo) {
		this.basePtInfo = basePtInfo;
	}

	public String getDeptCheckAdvice() {
		return deptCheckAdvice;
	}

	public void setDeptCheckAdvice(String deptCheckAdvice) {
		this.deptCheckAdvice = deptCheckAdvice;
	}

	public String getDeptColledgeLeaderAdvice() {
		return deptColledgeLeaderAdvice;
	}

	public void setDeptColledgeLeaderAdvice(String deptColledgeLeaderAdvice) {
		this.deptColledgeLeaderAdvice = deptColledgeLeaderAdvice;
	}

	public String getExpertAdvice() {
		return expertAdvice;
	}

	public void setExpertAdvice(String expertAdvice) {
		this.expertAdvice = expertAdvice;
	}

	public String getAcademyAcademiaAdvice() {
		return academyAcademiaAdvice;
	}

	public void setAcademyAcademiaAdvice(String academyAcademiaAdvice) {
		this.academyAcademiaAdvice = academyAcademiaAdvice;
	}

	public String getFinanceAdvice() {
		return financeAdvice;
	}

	public void setFinanceAdvice(String financeAdvice) {
		this.financeAdvice = financeAdvice;
	}

	public String getBossLeaderAdvice() {
		return bossLeaderAdvice;
	}

	public void setBossLeaderAdvice(String bossLeaderAdvice) {
		this.bossLeaderAdvice = bossLeaderAdvice;
	}
}